The present invention relates to a data transfer apparatus for transmitting/receiving, e.g., image data via communications, and its control method and, more particularly, to a data transfer apparatus of, e.g., an image processing device which outputs a large volume of data onto a communication path and must guarantee a given lower reduce of the data transfer rate like in a case wherein image data is transmitted to and printed by an electrophotographic printer, and its control method.
In recent years, high-speed serial communications such as IEEE1394 and the like begin to be used.
USB, IEEE1394, and the like comprise a mechanism for implementing data transfer with a data transfer rate guaranteed such as isochronous transfer mode. In isochronous transfer mode, since a required number of channels capable of data transfer are assured at prescribed cycle time intervals, a data transfer rate corresponding to the processing performance of a device is assured to transfer image data from an image scanning device to a computer or from the computer to an image forming device.
In high-speed serial communications such as IEEE1394, since the number of channels capable of data transfer in each prescribed cycle time interval is limited, if a given device has assured channels in such conventional image processing system, another device often fails to assure a required number of channels.
The present invention has been made in consideration of the aforementioned prior art, and has as its object to provide an image processing system including a data transfer apparatus, which, if there is a device which cannot assure a required number of channels, adjusts the total number of channels required including those already assured by some other device, and can prevent data transfer from failing due to an insufficient number of channels.
In order to achieve the above object, according to the present invention, when the total of the number of channels that have already been assigned to a given device and the number of newly requested channels has exceeded the number of channels the system has upon generation of a new channel acquisition request from another device in the system, the total number of channels required in the system including those already assigned to the given device is adjusted to be equal to or smaller than the number of channels the system has.
To attain the adjustment, the device to which channels have already been assigned is made to release releasable channels, and those released channels are assigned to the device that issued the new channel request.
Alternatively, to attain the adjustment, the number of channels required by the device that issued the new channel request is decreased.
Alternatively, to attain the adjustment, when the number of assigned channels cannot reach the number of requested channels even after the device to which channels have already been assigned is made to release releasable channels, and those released channels are assigned to the device that issued the new channel request, the number of channels required by the device that issued the new channel request is decreased.
Conversely, to attain the adjustment, when the number of assigned channels cannot reach the number of requested channels even after the device that issued the new channel request decreases the number of requested channels, the device to which channels have already been assigned is made to release releasable channels, and those released channels are assigned to the device that issued the new channel request.
In order to achieve the above object, one aspect of the present invention comprises the following arrangement.
That is, a data transfer apparatus which is connected to other devices via a communication path having a predetermined number of transfer channels, comprises:
adjustment means for adjusting channel assignment to limit a sum of the number of channels required for new data transfer and the number of already assigned channels to a value not more than the predetermined number, when the sum total exceeds the predetermined number upon executing data transfer between the devices; and
assignment means for assigning channels, the number of which is adjusted by the adjustment means, to the device that transfers data.
More preferably, the adjustment means decreases the number of channels to limit the sum to a value not more than the predetermined number by reducing a data transfer rate of the device to which channels have already been assigned, when the sum of the number of channels required for new data transfer and the number of already assigned channels exceeds the predetermined number.
More preferably, the adjustment means decreases the number of channels to limit the sum to a value not more than the predetermined number by reducing a data transfer rate of new data transfer, when the sum of the number of channels required for new data transfer and the number of already assigned channels exceeds the predetermined number.
More preferably, the adjustment means assigns empty channels to a device which requests new data transfer, and adjusts channel assignment when the number of assigned channels does not reach the number of channels required for data transfer.
More preferably, the adjustment means adjusts the number of channels assigned to the devices connected via the communication path.
More preferably, the plurality of devices include a computer and image scanning device.
More preferably, the plurality of devices include a computer and image forming device.
More preferably, the communication path is a one for transferring data in isochronous mode specified in IEEE1394.
The present invention has as its another object to provide data transfer apparatus having a new feature and control method for the apparatus.